串口通訊在CCD相機系統(tǒng)中的應用
CCD相機系統(tǒng)在運行過程中,有許多來自工作現(xiàn)場的數(shù)據(jù)需要實時采集,處理和記錄。以便上級管理系統(tǒng)及時掌握相機的工作狀態(tài)。并且上級管理系統(tǒng)需要實時調(diào)整相機參數(shù),并發(fā)出相應的指令,使得相機采集到的圖像像質(zhì)更好。
MCS-51單片機內(nèi)部含有一個可編程全雙工串行通信接口,該接口電路不僅能同時進行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。MCS-51單片機串行口的結(jié)構(gòu)由串行口控制寄存器、發(fā)送和接收電路等三部分組成。
串行通信是一種能把二進制數(shù)據(jù)按位傳送的通信,故它所需傳輸線條數(shù)極少,特別適用于分級、分層和分布式控制系統(tǒng)以及遠程通信之中[1]。根據(jù)實際使用的需要,CCD相機系統(tǒng)與上級管理系統(tǒng)之間的通訊由單片機串口來完成。本文對該系統(tǒng)中的串行通信系統(tǒng)加以介紹。
2系統(tǒng)串行通訊體系
按照串行數(shù)據(jù)的同步方式,串行通信可以分為同步通信和異步通信兩類。本系統(tǒng)采用同步通信方式。數(shù)據(jù)的輸入和輸出接口有各自的時鐘來控制,這兩個時鐘源彼此獨立,互不同步[1]。
由于CCD相機系統(tǒng)的數(shù)據(jù)輸入和數(shù)據(jù)輸出不會在同一時刻進行,本系統(tǒng)的串行通訊體系結(jié)構(gòu)包含以下幾個部分:單片機小系統(tǒng),串行數(shù)據(jù)輸入模塊,串行數(shù)據(jù)輸出模塊。其中單片機小系統(tǒng)結(jié)構(gòu)簡單,性能成熟,在這里不再贅述?,F(xiàn)就串口輸入、串口輸出模塊做出說明:
2.1串行數(shù)據(jù)輸入模塊
相機參數(shù)的注入由上級管理系統(tǒng)負責,CCD相機系統(tǒng)通過數(shù)據(jù)總線將參數(shù)直接讀入相機系統(tǒng)中的單片機小系統(tǒng)。
數(shù)據(jù)輸入門控信號通過單片機P1口連接。當上級管理系統(tǒng)欲向CCD相機系統(tǒng)注入調(diào)整參數(shù)指令時,先使門控信號有效,單片機系統(tǒng)即準備好接收數(shù)據(jù);然后在時鐘信號的配合下,一位一位地讀入數(shù)據(jù),并通過數(shù)據(jù)總線將并行數(shù)據(jù)讀入單片機。
2.2串行數(shù)據(jù)輸出模塊
在每個間隔時間到來時,CCD相機系統(tǒng)向上級數(shù)據(jù)管理系統(tǒng)送出相機系統(tǒng)的參數(shù),以備檢查相機系統(tǒng)的狀態(tài)是否正常。電路設計如圖1。在方式0下,串行數(shù)據(jù)輸出電路通過幾個串入并出的移位寄存器,由MCS-51單片機的RxD線串行輸出數(shù)據(jù),并從移位寄存器的最高位串行輸出。
3系統(tǒng)的串口通訊協(xié)議
3.1系統(tǒng)串口通訊協(xié)議特點
由于傳輸距離和可靠性的要求,該通訊協(xié)議具備如下特點[2]:
(1)采用一對一的通訊方式,無握手過程。通訊中,上級管理系統(tǒng)為主站,CCD相機系統(tǒng)為從站;
(2) 為了有效地識別相機參數(shù)。針對各項指令參數(shù)設定了各自的命令代碼,但幀長度保持不變。
(3)由于校驗編碼是差錯檢測的核心,對提高數(shù)據(jù)傳輸?shù)目煽啃苑浅V匾?,且奇偶校驗方式簡單可行,故采用奇偶校驗方式保證數(shù)據(jù)傳送的準確性;
4系統(tǒng)串口通訊軟件實現(xiàn)
4.1通訊協(xié)議格式說明
以下對本系統(tǒng)的具體通訊協(xié)議格式進行說明。該協(xié)議的數(shù)據(jù)包結(jié)構(gòu)大體如下所示:
(1)幀頭
為了準確發(fā)送和接收串口數(shù)據(jù).將幀頭設定為OxAA(10101010)。
(2)命令代碼
在本系統(tǒng)的通訊協(xié)議中,針對各項指令參數(shù)設定了各自的命令代碼,這里不作具體描述。
(3)數(shù)據(jù)代碼
數(shù)據(jù)代碼緊跟在命令代碼之后,用戶可根據(jù)情況取5位、6位、7位或8位、低位在前高位在后。
(4)奇偶校驗位
奇偶校驗這一字節(jié)是按照通常的通訊協(xié)議標準來計算的。即:一幀數(shù)據(jù)除幀頭外其它字節(jié)的累加和[3-4]。
4.2串口通訊的波特率
波特率是每秒鐘傳送二進制數(shù)碼的位數(shù),單位是bps(bit per second),即位/秒。波特率是串行通信的重要指標,用于表征數(shù)據(jù)傳輸?shù)乃俣?。波特率越高,?shù)據(jù)傳輸速度越快。
通信的數(shù)據(jù)傳輸速率較高,通??蛇_56000bps或更高。但同步通信的缺點是要求發(fā)送時鐘和接收時鐘保持嚴格同步。
4.3串口通訊軟件流程圖
在充分了解用戶需求的基礎上,首先確定系統(tǒng)結(jié)構(gòu),進而確定軟件開發(fā)平臺和工具,采用自頂向下、逐步求精的設計方法劃分軟件的功能模塊和功能單元,可提高軟件開發(fā)的效率。
本系統(tǒng)使用串口的方式0,用匯編語言編程。軟件流程圖(只包含串口通訊子程序)如圖2所示。
5結(jié)束語
用匯編語言進行編程是實現(xiàn)串口通訊的一種較可靠的方式。本通訊模塊設計了具有自身特點的串口通訊協(xié)議,有效解決了數(shù)據(jù)管理系統(tǒng)與CCD相機系統(tǒng)間的通訊問題。已經(jīng)成功應用于某CCD相機系統(tǒng)。本設計對其他類型的串行通訊體系有一定的推廣和應用價值。
本文作者創(chuàng)新點:利用單片機串口,設計成串入并出的數(shù)據(jù)輸入口和串入串出的數(shù)據(jù)輸出口,硬件結(jié)構(gòu)簡單,性能可靠;使用在通訊中較少使用的串口方式0進行通訊設計。
參考文獻
1 胡漢才。單片機原理及其接口技術(shù),清華大學出版社,1995:311~316。
2 陳力平,徐冠捷?;趩纹瑱C的串口擴展器,微計算機信息,2006,22(3-2):1~3。
3 陳輝。海上移動視頻監(jiān)控通信系統(tǒng)的設計和應用。青島建筑工程學院學報,2005,26(4):1~3。
4 賈中青,王學軍,張曉東等??删幊炭刂破髋cPC機的通訊技術(shù)。工程技術(shù)應用,2005,18(4):1~4。

提交
超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機械的智能化轉(zhuǎn)型
新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會
派拓網(wǎng)絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | ??低晭砭手黝}演講
展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會